
package todolist.logic.task;

import todolist.entity.TaskEntity;

/**
 * Fired after a Task is added/edited/deleted.
 * @author Ivan
 */
public interface TaskChangedListener {

	/**
	 * Handles Task that has been added.
	 * Task is cloned. Modifying its attributes will not affect the original.
	 */
	public void taskPostAdd(TaskEntity pentTask);
	
	/**
	 * Handles Task that has been edited.
	 * Both old and new state of Task is provided.
	 * Task is cloned. Modifying its attributes will not affect the original.
	 */
	public void taskPostEdit(TaskEntity pentOldTask, TaskEntity pentNewTask);
	
	/**
	 * Handles Task that has been deleted.
	 */
	public void taskPostDelete(TaskEntity pentTask);
	
}
